package cn.ceplc.nlu.base.service;


import cn.ceplc.nlu.base.domain.BaseEntity;

import java.io.Serializable;
import java.util.List;
import java.util.Optional;

public interface BaseService<T extends BaseEntity<PK>, PK extends Serializable> {

    /**
     * 添加
     */
     T insert(T entity);

    /**
     * 删除
     */
    void delete(PK id);

    /**
     * 更新
     */
    T update(T entity);

    /**
     * 查询全部
     */
    List<T> findAll();

    /**
     * 根据id查找
     */
    Optional<T> findById(PK id);
}
